/********************************************
 * 功能说明: 
 * 模块名称: 
 * 系统名称: 
 * 软件版权: 北京银杉金服科技有限公司
 * 系统版本: 1.0.0
 * 开发人员: zhangfb
 * 开发时间: 2019/1/13 12:23
 * 审核人员: 
 * 相关文档: 
 * 修改记录: 修改日期 修改人员 修改说明
 *********************************************/
package com.hyacinth.server;

import com.hyacinth.server.bootstrap.AuroraBootstrap;
import com.hyacinth.server.bootstrap.NettyBootStrap;
import com.hyacinth.server.enums.ServerChannel;
import com.hyacinth.server.init.AuroraInitialization;

/**
 * 服务启动类
 * @author zhangfb
 * @version 1.0.0.1
 * @since JDK 1.8
 */
public class AuroraServer {

    /**
     * 启动服务
     * @param clazz 用户启动类
     */
    public static void run(Class<?> clazz) throws Exception {
        run(clazz, null, null);
    }

    /** 启动服务
     * @param clazz 用户启动类
     * @param serverContextPath 服务请求根路径
     */
    public static void run(Class<?> clazz, String serverContextPath) throws Exception {
        run(clazz, serverContextPath, null);
    }

    /**
     * 启动服务
     * @param clazz 用户启动类
     * @param serverContextPath 服务请求根路径
     */
    public static void run(Class<?> clazz, String serverContextPath, Integer port) throws Exception {
        // 初始化配置
        AuroraInitialization.doInit(clazz, serverContextPath, port);
        // 启动服务
        AuroraBootstrap.loadServerChannel().startAurora();
    }
}
